package com.dss.code_generation.controller;

import com.dss.code_generation.dto.AutoDto;
import com.dss.code_generation.dto.SelectDto;
import com.dss.code_generation.service.ITablesService;
import com.dss.code_generation.util.Result;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import java.util.List;

/**
 * @Description:
 * @ClassName: TableController
 * @author: dongshoushan
 * @date: 2020年06月08日 9:43
 */
@RestController
@RequestMapping("/table")
public class TablesController {
    @Resource
    private ITablesService tablesService;

    /**
     * 查询所有未生成的表
     * @return
     */
    @GetMapping("/all")
    public Result getAll(){
        return Result.success(tablesService.getAll());
    }
    /**
     * 查询所有已生成的表
     * @return
     */
    @GetMapping("/list")
    public Result list(SelectDto pageReq){
        return Result.success(tablesService.getList(pageReq));
    }

    /**
     * 新生成代码
     * @param autoDto
     * @return
     */
    @PostMapping("/add")
    public Result add(@RequestBody AutoDto autoDto){
        tablesService.add(autoDto);
        return Result.success("代码生成完毕！请前往项目目录检查*-*");
    }
    /**
     * 重新生成代码
     * @param
     * @return
     */
    @PostMapping("/regenerate")
    public Result regenerate(@RequestBody List<AutoDto> list){
        tablesService.regenerate(list);
        return Result.success("重新生成代码完毕！请前往项目目录检查*-*");
    }
    /**
     * 忽略生成代码
     * @param autoDto
     * @return
     */
    @PostMapping("/ignoreAdd")
    public Result ignoreAdd(@RequestBody AutoDto autoDto){
        tablesService.ignoreAdd(autoDto);
        return Result.success("已忽略此无需生成代码的表！");
    }


}
